package com.jumi.microservice.stock.dto.commodity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author ssk
 * @create 2020/9/4 14:53
 **/
public class CommodityApplyDTO implements Serializable {

    private static final long serialVersionUID = -8050902093352332245L;


    @ApiModelProperty("库存分仓申请ID")
    private Long id;

    @ApiModelProperty("商城商品ID")
    private Long spuId;

    @ApiModelProperty("商城商品编码")
    private String spuCode;

    @ApiModelProperty("商城商品名称")
    private String spuName;

    @ApiModelProperty("申请商品库存总量")
    private Integer stockTotalNum;

    @ApiModelProperty("申请商品预售库存总量")
    private Integer preStockTotalNum;

    @ApiModelProperty("申请记录状态;0=未分配,1=已分配")
    private Integer status;

    @ApiModelProperty("预售库存分配状态;0=未分配;1=已分配")
    private Integer preStatus;

    @ApiModelProperty("申请创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty("操作人")
    private String createBy;

    @ApiModelProperty("sku详情")
    private List<CommodityApplyDetailDTO>  details;

    @ApiModelProperty("物料对应关系详情")
    private List<CommodityApplyMaterialDTO> materials;


    @ApiModelProperty("查询起始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @ApiModelProperty("查询截止时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    private List<CommodityRenderResultDTO> renderResultList;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public String getSpuCode() {
        return spuCode;
    }

    public void setSpuCode(String spuCode) {
        this.spuCode = spuCode;
    }

    public Integer getStockTotalNum() {
        return stockTotalNum;
    }

    public void setStockTotalNum(Integer stockTotalNum) {
        this.stockTotalNum = stockTotalNum;
    }

    public Integer getPreStockTotalNum() {
        return preStockTotalNum;
    }

    public void setPreStockTotalNum(Integer preStockTotalNum) {
        this.preStockTotalNum = preStockTotalNum;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public String getSpuName() {
        return spuName;
    }

    public void setSpuName(String spuName) {
        this.spuName = spuName;
    }

    public List<CommodityApplyDetailDTO> getDetails() {
        return details;
    }

    public void setDetails(List<CommodityApplyDetailDTO> details) {
        this.details = details;
    }

    public List<CommodityApplyMaterialDTO> getMaterials() {
        return materials;
    }

    public void setMaterials(List<CommodityApplyMaterialDTO> materials) {
        this.materials = materials;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public List<CommodityRenderResultDTO> getRenderResultList() {
        return renderResultList;
    }

    public void setRenderResultList(List<CommodityRenderResultDTO> renderResultList) {
        this.renderResultList = renderResultList;
    }

    public Integer getPreStatus() {
        return preStatus;
    }

    public void setPreStatus(Integer preStatus) {
        this.preStatus = preStatus;
    }
}
